﻿/*
SINACOR - BMF&Bovespa
Arquivo: FiltroCoberturaNegocios.cs
Criado em: 36-jun-2010

*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.Infra.UI.Common;

namespace Sinacor.UI.Bovespa.Alocacao.Model.Parameter
{
    /// <summary>
    /// Entidade que armazena os possíveis filtros de pesquisa para a consulta de
    /// negócios alocados ou disponiveis
    /// </summary>
    [Serializable]
    public class FiltroConsultaNegocios : BaseModel
    {
        #region Atributos
        private DateTime? _dataPregao;
        private Model.Enum.TipoMercado? _mercado;
        private string _bolsa;
        private string _ativo;
        private int? _numeroNegocio;
        private string _cliente;
        private Model.Enum.NaturezaOperacao? _naturezaOperacao;

        #endregion

        #region Propriedades

        /// <summary>
        /// Natureza da Operacao
        /// </summary>
        public Model.Enum.NaturezaOperacao? NaturezaOperacao
        {
            get { return _naturezaOperacao; }
            set { SetValue<Model.Enum.NaturezaOperacao?>("NaturezaOperacao", ref _naturezaOperacao, value); }
        }

        /// <summary>
        /// Numero do Cliente
        /// </summary>
        public string Cliente
        {
            get { return _cliente; }
            set { SetValue<string>("Cliente", ref _cliente, value); }
        }

        /// <summary>
        /// Número do Negocio
        /// </summary>
        public int? NumeroNegocio
        {
            get { return _numeroNegocio; }
            set { SetValue<int?>("NumeroNegocio", ref _numeroNegocio, value); }
        }

        /// <summary>
        /// Código do Ativo
        /// </summary>
        public string Ativo
        {
            get { return _ativo; }
            set { SetValue<string>("Ativo", ref _ativo, value); }
        }

        /// <summary>
        /// Código da Bolsa
        /// </summary>
        public string Bolsa
        {
            get { return _bolsa; }
            set { SetValue<string>("Bolsa", ref _bolsa, value); }
        }

        /// <summary>
        /// Data do Pregão
        /// </summary>
        public DateTime? DataPregao
        {
            get
            {
                return _dataPregao;
            }
            set
            {
                SetValue<DateTime?>("DataPregao", ref _dataPregao, value);
            }
        }

        /// <summary>
        /// Tipo de mercado
        /// </summary>
        public Model.Enum.TipoMercado? Mercado
        {
            get
            {
                return _mercado;
            }
            set
            {
                SetValue<Model.Enum.TipoMercado?>("Mercado", ref _mercado, value);
            }
        }
        #endregion

    }
}
